package com.gitee.feizns.zxw.service.backstage;

import com.gitee.feizns.web.domain.page.PageAo;
import com.gitee.feizns.web.domain.page.PageVoRet;

import com.gitee.feizns.zxw.domain.backstage.ao.destination.areas.recommend.travel.line.ListAo;
import com.gitee.feizns.zxw.domain.backstage.ao.destination.areas.recommend.travel.line.CreateAo;
import com.gitee.feizns.zxw.domain.backstage.ao.destination.areas.recommend.travel.line.UpdateAo;
import com.gitee.feizns.zxw.domain.backstage.vo.destination.areas.recommend.travel.line.ListVo;
import com.gitee.feizns.zxw.domain.backstage.vo.destination.areas.recommend.travel.line.DetailsVo;
import org.springframework.transaction.annotation.Transactional;

/**
 * @author feizns
 * @since 2019/09/09
 */
@Transactional(rollbackFor = Exception.class)
public interface DestinationAreasRecommendTravelLineService {

    /**
     * 列表
     * @param page
     * @param ao
     */
    @Transactional(readOnly = true)
    PageVoRet<ListVo> list(PageAo page, ListAo ao);

    /**
     * 详情
     * @param id
     */
    @Transactional(readOnly = true)
    DetailsVo details(Integer id);

    /**
     * 创建
     * @param ao
     */
    DetailsVo create(CreateAo ao);

    /**
     * 修改
     * @param id
     * @param ao
     */
    DetailsVo update(Integer id, UpdateAo ao);

    /**
     * 删除
     * @param id
     */
    void delete(Integer id);

}

